OLTP-приложениями охватывается широкий спектр задач во многих отраслях—автоматизированные банковские системы, ERP-системы (системы планирования ресурсов предприятия), банковские и биржевые операции, в промышленности — регистрация прохождения детали на конвейере, фиксация в статистике посещений очередного посетителя веб-сайта, автоматизация бухгалтерского, складского учёта и учёта документов и т. п. Приложения OLTP, как правило, автоматизируют структурированные, повторяющиеся задачи обработки данных, такие как ввод заказов и банковские транзакции. OLTP-системы проектируются, настраиваются и оптимизируются для выполнения максимального количества транзакций за короткие промежутки времени. Как правило, большой гибкости здесь не требуется, и чаще всего используется фиксированный набор надёжных и безопасных методов ввода, модификации, удаления данных и выпуска оперативной отчётности. Показателем эффективности является количество транзакций, выполняемых за секунду. Обычно аналитические возможности OLTP-систем сильно ограничены (либо вообще отсутствуют).
Исторически такие системы возникли в первую очередь, поскольку реализовывали потребности в учете, скорости обслуживания, сборе данных и пр. Однако вскоре пришло понимание, что сбор данных — не самоцель и накопленные данные могут быть полезны: из данных можно извлечь информацию.
Типичным примером применения OLTP-систем является массовое обслуживание клиентов, например бронирование авиабилетов или оплата услуг телефонных компаний. Обе эти ситуации имеют два общих свойства: очень большое число клиентов и непрерывное поступление информации.
При бронировании авиабилетов из многочисленных пунктов продажи непрерывно стекается информация об уже проданных билетах, которую вводят со своих рабочих мест операторы-продавцы. В той же БД формируется информация о свободных местах. С точки зрения данной задачи транзакция включает в себя набор таких действий, как:
- запрос оператора о наличии свободных мест на тот или иной рейс;
- отклик БД с предоставлением соответствующей информации;
- ввод оператором информации о клиенте, номере заказанного места и оплаченной сумме (возможно, будет присутствовать еще какая-либо служебная вспомогательная информация);
- передача новой информации в базу данных и внесение в нее соответствующих изменений;
- передача оператору подтверждения о том, что операция выполнена успешно.
Такие транзакции выполняются тысячи раз в день в сотнях пунктов продаж. Очевидно, что основным приоритетом в данном случае является обеспечение минимального времени отклика при максимальной загрузке системы.
Рассмотрим характерные черты данного процесса, свойственные в той или иной мере всем OLTP-системам.
- Запросы и отчеты полностью регламентированы. Оператор не может сформировать собственный запрос, чтобы уточнить или проанализировать какую-либо информацию.
- Как только перелет завершился, информация об обслуживании данного клиента теряет смысл, становится неактуальной и подлежит удалению по прошествии определенного времени (то есть исторические данные не поддерживаются).
- Операции производятся над данными с максимальным уровнем детализации, то есть по каждому клиенту в отдельности.
Ситуация коренным образом меняется, когда руководство авиакомпании принимает решение об изучении пассажиропотоков с целью, например, их оптимизации. Такие исследования могут быть реакцией на информацию о том, что в последнее время во многих пунктах продаж участились случаи нехватки билетов на определенные маршруты, что позволяет сделать предположение о целесообразности организации дополнительных рейсов.
Недостатки
OLTP-системы оптимизированы для небольших дискретных транзакций. А вот запросы на некую комплексную информацию (к примеру поквартальная динамика объемов продаж по определённой модели товара в определённом филиале), характерные для аналитических приложений (OLAP), породят сложные соединения таблиц и просмотр таблиц целиком. На один такой запрос уйдет масса времени и компьютерных ресурсов, что затормозит обработку текущих транзакций. Транзанкция (англ. transaction) — группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.
Различают последовательные (обычные), параллельные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют намного более сложной логики (например, two-phase commit — двухфазный протокол фиксации транзакции). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автоно
транзакцию
Эти действия представляют собой логическую единицу работы «перевод суммы между счетами», и таким образом, являются транзакцией. Если прервать данную транзакцию, к примеру, в середине, и не аннулировать все изменения, легко оставить владельца счёта номер 5 без 10 единиц, тогда как владелец счета номер 7 их не получит.Режим оперативной обработки транзакций оперативной обработки транзакций OLTP (On-Line Transaction Processing) применяется в информационных системах организационного управления для отражения актуального состояния предметной области в любой момент времени, а пакетная обработка занимает весьма ограниченную нишу. Обычно аналитические возможности OLTP-систем сильно ограничены, они используются для того, чтобы способствовать повседневной деятельности корпорации, и опираются на актуальные для текущего момента данные. Информационные системы класса OLTP предназначены для сбора, регистрации, ввода исходных данных, относящихся к той или иной предметной области, первичной обработки данных, их хранения, адекватной визуализации, поиска, выдачи справок и отчетных материалов. Первичная обработка включает проверку корректности вводимых данных и их соответствия ограничениям целостности, идентификацию описываемых данными объектов, кодирование, передачу данных по горизонтальным и вертикальным связям. Данные в информационную систему вводятся либо с документа, имеющего определенную правовую силу, либо непосредственно с места возникновения данных. В последнем случае документ, содержащий введенные данные, печатается системой и ему придается правовая сила. В OLTP системах над целевыми БД исполняются целевые транзакции (например, занесение в таблицу записи с параметрами выписанного счета, оприходованной фактуры или любого другого факта), которые изменяют состояние БД и приводят их в соответствие текущему состоянию того фрагмента реального мира, который моделирует БД. Таким образом, основным назначением целевых БД является обработка транзакций.
Подобные системы предназначены для ввода, структурированного хранения и обработки информации в режиме реального времени. OLTP-системы позволяют сформулировать запросы типа: сколько, где и т.п. Предоставляя данные из постоянно синхронизируемых (обновляемых) БД, операционные системы не отслеживают динамику изменения процессов на больших временных промежутках, практически не производят обработку данных (за исключением определенных расчетов) и, что самое важное, не формируют выводы по имеемым данным, оставляя эту функцию лицу, принимающему решение. OLTP-приложениями охватывается широкий спектр задач во многих отраслях — автоматизация бухгалтерского и складского учета и учета документов и т. п.
Основная функция подобных систем заключается в одновременном выполнении большого количества коротких транзакций от большого числа пользователей. Сами транзакции выглядят относительно просто, например, «снять сумму денег со счета А, добавить эту сумму на счет В».
Информационные системы класса OLTP характеризуются следующими особенностями.Характеристики ИС — информационных систем — класса OLTP-относительной алгоритмической простотой,-повышенной динамикой в части номенклатуры и структуры обрабатываемых документов, что связано с непосредственной близостью этих систем к предметной области,
-массовостью и территориальной распределенностью мест сбора исходных данных, -высокими требованиями к достоверности и актуальности вводимых данных,
-массовостью, достаточно частой сменяемостью и относительно невысокой компьютерной -квалификацией персонала (пользователей).-поддержкой большого числа пользователей;-малым временем отклика на запрос;-относительно короткими запросами;-участие в запросах небольшого числа таблиц.Исторически такие системы возникли в первую очередь, поскольку реализовывали потребности в учете, скорости обслуживания, сборе данных и пр. Однако вскоре пришло понимание, что сбор данных — не самоцель и накопленные данные могут быть полезны: из данных можно извлечь информацию. Стратегия разработки системДлительное время в качестве стратегии разработки подобных систем использовалось следующее: построение отдельных АРМ, предназначенных для обработки групп функционально связанных документов, и тиражирование готовых АРМ на места,
построение полнофункциональных параметризуемых систем с тиражированием и настройкой по местам. Однако получаемые таким способом системы имели невысокие адаптационные возможности по преодолению динамики предметных областей. Они предъявляли высокие требования к эксплуатационному персоналу и требовали больших накладных расходов на сопровождение.
Относительно недавно начала применяться новая, третья стратегия разработки информационных систем класса OLTP. Ее суть состоит в следующем: тиражируются не готовые системы, а некоторые заготовки и технологический инструмент, позволяющие непосредственно на месте быстро построить/достроить систему с необходимой функциональностью и далее с помощью этого же инструмента ее модифицировать в соответствии с динамикой предметной области.Транзакции – это действия, которые выполняются либо полностью, либо не выполняются вообще. Если во время выполнения транзакции происходит нарушение работы системы, то база данных возвращается в исходное состояние, которое было до транзакции (откат). Все выполненные транзакции регистрируются в журнале транзакций. Транзакция считается завершенной, когда в журнале появляется соответствующая запись о транзакции.
В практике общения с представителями информационных служб предприятий нередко приходится сталкиваться с серьезным недопониманием различий в возможностях, назначении и роли технологий, предназначенных для сбора информации, — OLTP-систем (On-Line Transaction Processing) и технологий анализа информации. Между тем они существенно различны по функциональности, и каждая из них отвечает за свою область в информационной системе.
Задачи OLTP-системы – это быстрый сбор и наиболее оптимальное размещение информации в базе данных, а также обеспечение ее полноты, актуальности и согласованности. Однако такие системы не предназначены для максимально эффективного, быстрого и многоаспектного анализа.
Разумеется, по собранным данным можно строить отчеты, но это требует от бизнес-аналитика или постоянного взаимодействия с IT-специалистом, или специальной подготовки в области программирования и вычислительной техники. Как выглядит традиционный процесс принятия решений в российской компании, использующей информационную систему, построенную на OLTP-технологии? Менеджер дает задание специалисту информационного отдела в соответствии со своим пониманием вопроса. Специалист информационного отдела, по-своему осознав задачу, строит запрос оперативной системе, получает электронный отчет и доводит его до сведения руководителя. Такая схема принятия критически важных решений обладает следующими существенными недостатками:-используется ничтожное количество данных;-процесс занимает длительное время, поскольку составление запросов и интерпретация электронного отчета – операции довольно канительные, тогда как руководителю, может быть, необходимо принять решение незамедлительно; -требуется повторение цикла в случае необходимости уточнения данных или рассмотрения данных в другом разрезе, а также при возникновении дополнительных вопросов. Причем этот медленный цикл приходится повторять и, как правило, неоднократно, при этом времени на анализ данных тратится ещё больше; негативным образом сказывается различие в профессиональной подготовке и областях деятельности специалиста по информационным технологиям и руководителя.
Зачастую они мыслят разными категориями и, как следствие, не понимать друг друга; неблагоприятное действие оказывает такой фактор, как сложность электронных отчетов для восприятия. У руководителя нет времени выбирать интересующие цифры из отчёта, тем более что их может оказаться слишком много. Понятно, что работа по подготовке данных чаще всего ложится на специалистов информационных отделов. В результате грамотный специалист отвлекается на рутинную и малоэффективную работу по составлению таблиц, диаграмм и т. д., что, естественно, не способствует повышению его квалификации.Выход из этой ситуации один, и сформулирован он Биллом Гейтсом в виде выражения: «Информация на кончиках пальцев». Исходная информация должна быть доступна ее непосредственному потребителю – аналитику. Именно непосредственно доступна (!). А задачей сотрудников информационного отдела является создание системы сбора, накопления, хранения, защиты информации и обеспечения ее доступности аналитикам.
Сфера применения — это сфера платежей, учета, резервирования мест, банки и биржевые операции. OLTP — системы, являясь высокоэффективным средством реализации оперативной обработки, оказались мало пригодны для задач аналитической обработки. Это вызвано следующим:
1. средствами традиционных OLTP -систем можно построить аналитический отчет и даже прогноз любой сложности, но заранее регламентированный. Любой шаг в сторону, любое нерегламентированное требование конечного пользователя, как правило, требует знаний о структуре данных и достаточно высокой квалификации программиста;
2. многие необходимые для оперативных систем функциональные возможности являются избыточными для аналитических задач и в то же время могут не отражать предметной области. Для решения большинства аналитических задач требуется использование внешних специализированных инструментальных сре дств дл я анализа, прогнозирования и моделирования. Жесткая же структура баз не позволяет достичь приемлемой производительности в случае сложных выборок и сортировок и, следовательно, требует больших временных затрат для организации шлюзов.
3. в отличие от транзакционных, в аналитических системах не требуются и, соответственно, не предусматриваются развитые средства обеспечения целостности данных, их резервирования и восстановления. Это позволяет не только упростить сами средства реализации, но и снизить внутренние накладные расходы и, следовательно, повысить производительность при выборке данных.
Круг задач, эффективно решаемых каждой из систем, определим на основе сравнительных характеристик OLTP — и OLAP –систем
Данные в OLTP-системах организованы главным образом для поддержки таких транзакций, как:
• регистрация заказа, введенного с кассового терминала или через Web-узел;
• размещение заказа на комплектующие изделия, когда их количество на складе становится меньше определенного числа;
• отслеживание компонентов во время сборки конечного продукта на производстве;
• регистрация сведений о работниках;
• регистрация идентификационных данных держателей лицензий, например владельцев ресторанов или водителей.
Отдельные транзакции, обращаясь к относительно небольшому объему данных, завершаются быстро. Системы OLTP созданы и оптимизированы для одновременной обработки сотен и тысяч транзакций.
OLTP-системы превосходно выполняют регистрацию данных, необходимых для поддержки ежедневных операций. Однако данные в них организованы иначе, чем это необходимо в том случае, когда информация предназначена менеджерам для планирования работы их организаций. Менеджерам часто нужна итоговая информация — для анализа трендов, влияющих на вверенную им организацию или группу. Современные задачи Хранилищ данных. данных
И хотя Хранилища дают организации отличную платформу отчетности и количества данных и конкурентного давления IT-инфраструктур. Так организация может делать выбор платформы исходя из корпоративных стандартов и предпочтений, а также развиваться с минимальным влиянием на свое готовое ХД-решение.
Собранные инструментом интеграции данные преобразуются в платформо- и СУБД-независимый формат. Таким образом поддерживается гетерогенность и устраняется риск потери или повреждения данных в случае перебоя в работе исходной или целевой системы.
Инструменты интеграции передают только те данные, которые требуются в Хранилище. В обычной OLTP-системе существуют поля, относящиеся только к тому приложению, которое обслуживает база данных. Далеко не все эти параметры нужны в Хранилище. Инструмент интеграции должен обеспечивать идентификацию столбцов, которые нужно извлечь из баз и передать в Хранилище.
Также, в зависимости от критериев пользователя, могут выбираться те или иные строки из базы исходной системы. Например, для разделения данных по географическому признаку или для выбора продуктов, относящихся только к целевому Хранилищу.
Выборочность в передаче данных важна, однако остается задача преобразования, нормализации или денормализации данных, в зависимости от целевой системы. В связи с различными моделями данных и структурами объектов между OLTP-базой и Хранилищем, столбцы и исходной системе можно преобразовать так, чтобы они соответствовали столбцам в целевой системе. В некоторых случаях возникает необходимость в слиянии нескольких столбцов из различных исходных строк в единую строку и наоборот. Для сложных преобразований данных предлагаются точки выхода к программе пользователя, чтобы внедрить любые специфические для данной организации правила наполнения ХД.
Возможность быстро и легко включать новые источники БД, либо целевые системы, включая процессы захвата и доставки данных, играет важную роль.
Чтобы не прерывать работу Хранилища оно проектируется с возможностью быстрой адаптации к возможным изменениям в базе данных. Определения исходной и целевой таблиц изменяются либо с появлением новых версий ПО, либо с изменением требований к емкости Хранилища. Динамическое задание схем таблиц возможно с помощью параметрических файлов. Таким образом можно вносить изменения в исходные или целевые таблицы для быстрого внесения изменений без модернизации ПО или устаревания систем. Обратная связь. Активное Хранилище передает данные, если выполнены определенные условия или правила. Сложная операция может включать в себя обновление записей в OLTP. Например, система обнаружения мошенничеств может выделить подозрительные операции и изменить статус счета пользователя в Хранилище. Такое изменение статуса может отслеживаться инструментом интеграции и передаваться в соответствующую систему оперативной обработки транзакций. Обратная передача информации в OLTP-систему очень значительна для любых приложений замкнутого цикла, а также для одновременной посылки информации в среду отчетности, склады данных, резервные копии или другие целевые системы.
В задаче интеграции DW и OLTP возможно комбинирование TDM и ETL-процессов. В том числе для обработки данных в реальном времени, постоянном захвате и извлечении данных на транзакционном уровне. Средства TDM могут передавать данные в реальном времени в промежуточный уровень хранения целевой БД, где ETL-сервер будет перехватывать данные и, применив к ним преобразования, загружать в Хранилище. У такого подхода есть недостатки (в частности, дополнительная задержка и необходимость поддерживать ETL-сервер), однако они обоснованы, в случае если требования к преобразованию данных слишком сложны. Преимущества в том, что новые транзакционные данные немедленно захватываются с очень малым эффектом по производительности на OLTP-систему (по сравнению с обычным ETL-процессом)
Преимущества
Ключевые преимущества инструментов интеграции:данные поступают в реальном времени, обеспечивая наиболее развитые возможности анализа;работа инструментов практически не сказываются на производительности среды,;устраняется пакетная обработка;поддерживаются большие объемы данных и гетерогенность;возможно совместное использование с уже внедренными ETL-инструментами, устраняется необходимость использования сервера промежуточного уровня;достигается исключительная гибкость, легко выполняется внедрение и поддержка;обеспечиваются широкие возможности восстановления и поддержки целостности данных.За счет селективности инструментов, можно вернуться на шаг назад в любую точку, так как двунаправленные возможности синхронизации позволяют сохранять обе системы в активном и работоспособном состоянии.Заключение. Прошли те времена, когда Хранилища предназначались только для отчетности, анализа и прогнозирования. Сегодня все больше компаний стремится к активным операционным Хранилищам, а поэтому важным требованием становится обмен данными между ХД и OLTP-средством — в реальном времени и с минимальной задержкой. Инструменты интеграции данных, в том числе TDM, дают возможность решения этой задачи.
OLTP-системы (On-Line Transaction Processing)Информационные системы класса OLTP (On-Line Transaction Processing) или OLTP-системы предназначены, прежде всего, для обслуживания повседневной деятельности предприятия.Главная задача этих систем — выполнение большого количества коротких транзакций. Транзакцией называют неделимую с точки зрения воздействия на базу данных последовательность операций манипулирования данными.Сами транзакции являются достаточно простыми, но проблемы состоят в том, что таких транзакций очень много, выполняются они одновременно и при возникновении ошибок транзакция должна откатиться и вернуть систему в состояние, в котором та была до начала транзакции.
Практически все запросы к базе данных в OLTP-приложениях состоят из команд вставки, обновления и удаления. Типичными примерами OLTP — приложений являются системы складского учета, заказов билетов, операционные банковские системы и др. Запросы на выборку в OLTP — системах, в основном, предназначены для предоставления пользователям выборки данных из различного рода справочников. Поскольку большая часть запросов известна заранее ещё на этапе проектирования системы, то критическим для OLTP-приложений является скорость и надежность выполнения коротких операций обновления данных.Таким образом, OLTP-системы имеют следующие особенности:1. Рассчитаны на быстрое обслуживание относительно простых запросов большого числа пользователей;2. Работают с данными, которые требуют защиты от несанкционированного доступа, нарушений целостности, аппаратных и свойство означает, что транзакции должны выполняться независимо друг от друга, и доступ к данным, изменяемым с помощью одной транзакции, для других транзакций должен быть запрещен, пока изменения не будут завершены.4. Долговечность. Свойство долговечности означает, что если транзакция выполнена успешно, то произведенные ею изменения в данных не должны быть потеряны ни при каких обстоятельствах.Длительное время в качестве стратегии разработки OLTP-систем использовались следующие принципы:построение отдельных автоматизированных рабочих мест (АРМ), предназначенных для обработки групп функционально связанных документов, и тиражирование готовых АРМ на места;построение полнофункциональных систем с тиражированием и настройкой по местам. Однако получаемые таким способом системы имели невысокие адаптационные возможности, предъявляли высокие требования к эксплуатационному персоналу и требовали больших накладных расходов на сопровождение.
Относительно недавно начала применяться новая, третья стратегия разработки информационных систем класса OLTP. Ее суть состоит в том, что тиражируются не готовые системы, а некоторые заготовки и технологический инструмент, позволяющие непосредственно на месте быстро построить или достроить систему с необходимой функциональностью и далее с помощью этого же инструмента ее модифицировать в соответствии с динамикой предметной области.
Список литература
- Корнилов Е.Г., Долгова Т.Г. Современное применение olap и oltp технологий в экономике // Актуальные проблемы авиации и космонавтики. 2010. Т. 1. № 6. С. 419-420.
- Маслова М.О., Никоненко Н.Д. Применение oltp и olap-технологий в экономике // В сборнике: Экономика и управление: анализ тенденций и перспектив развития. сборник материалов XXXV Международной научно-практической конференции. 2017. С. 150-154
- Новиков М.С. Информационные технологии с сфере бизнеса // Аллея науки. 2017. Т. 1. № 9. С. 490-495.
- Макаревич О.Б., Абасов Н.Д. Модуль взаимодействия oltp-системы и журнала транзакций // Информационное противодействие угрозам терроризма. 2014. № 23. С. 40-45.
- Булаев В.В., Котов И.Н., Телеснин Б.А. Выбор схемы данных в oltp-приложениях // Известия ТРТУ. 2002. № 2 (25). С. 216-218.